emacs.git
2 years agoFix display of custom menus after putative cosmetic change
Po Lu [Fri, 22 Mar 2024 07:24:28 +0000 (15:24 +0800)]
Fix display of custom menus after putative cosmetic change

* lisp/wid-edit.el (widget-setup): Restore version from before
the previous commit.

2 years ago* lisp/help.el (help--analyze-key): Use `help-fns-function-name`
Stefan Monnier [Fri, 22 Mar 2024 01:43:38 +0000 (21:43 -0400)]
* lisp/help.el (help--analyze-key): Use `help-fns-function-name`

2 years ago(help-fns-function-name): New function
Stefan Monnier [Thu, 21 Mar 2024 23:40:20 +0000 (19:40 -0400)]
(help-fns-function-name): New function

Consolidate code used in profiler and help--describe-command,
and improve it while we're at it.
Also use #' to quote a few function names along the way.

* lisp/help-fns.el (help-fns--function-numbers, help-fns--function-names):
New vars.
(help-fns--display-function): New aux function.
(help-fns-function-name): New function, inspired from
`help--describe-command`.

* lisp/help.el (help--describe-command): Use `help-fns-function-name`.
(help--for-help-make-sections): Remove redundant "" arg to `mapconcat`.

* lisp/profiler.el (profiler-format-entry, profiler-fixup-entry):
Delete functions.
(profiler-report-make-entry-part): Use `help-fns-function-name` instead.
(profiler-report-find-entry): Use `push-button`.

* lisp/transient.el (transient--debug): Use `help-fns-function-name`
when available.

2 years ago(make-help-screen): Move most of the code out to a function
Stefan Monnier [Thu, 21 Mar 2024 23:26:33 +0000 (19:26 -0400)]
(make-help-screen): Move most of the code out to a function

This avoids problems like variable-name capture and lets compiler messages
point to the actual source code.

* lisp/help-macro.el (help--help-screen): New function, extracted from
`make-help-screen`.
(make-help-screen): Use it.

2 years agoUpdate to Transient v0.6.0-1-gcaef3347
Jonas Bernoulli [Thu, 21 Mar 2024 22:55:38 +0000 (23:55 +0100)]
Update to Transient v0.6.0-1-gcaef3347

2 years ago(describe-symbol-backends): Fix addition of the "type" backend
Stefan Monnier [Thu, 21 Mar 2024 22:27:03 +0000 (18:27 -0400)]
(describe-symbol-backends): Fix addition of the "type" backend

That backend was added from `cl-extra.el` with no autoload, so
(describe-symbol `advice) failed to show the info about
the `advice` type unless `cl-extra.el` had been loaded beforehand.
`C-h o RET advice RET` worked by accident because the completion
table uses `cl-some` which is autoloaded from `cl-extra.el`.

* lisp/help-mode.el (describe-symbol-backends): Add the "type" backend.
* lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Don't add the
"type" backend here.

2 years agobyte-opt.el: Remove test that's not applicable any more
Stefan Monnier [Thu, 21 Mar 2024 22:16:41 +0000 (18:16 -0400)]
byte-opt.el: Remove test that's not applicable any more

* lisp/emacs-lisp/byte-opt.el: Remove left-over test for ancient
byte-compiled representation.

2 years agoSpeed up `describe-char` when a property has a large value
Stefan Monnier [Thu, 21 Mar 2024 16:28:54 +0000 (12:28 -0400)]
Speed up `describe-char` when a property has a large value

Doing `C-u C-x =` on a buffer position where the overlay/text
properties hold large values (e.g. inside the profiler report)
can be surprisingly slow because it pretty prints all those properties.
Change the code to do the pretty printing more lazily.
While at it, share that duplicated code between `descr-text.el` and
`wid-browse.el`.

* lisp/emacs-lisp/pp.el (pp-insert-short-sexp): New function.

* lisp/descr-text.el (describe-text-sexp): Delete function.
(describe-property-list): Use `pp-insert-short-sexp` instead.

* lisp/wid-browse.el (widget-browse-sexp): Use `pp-insert-short-sexp`
and `widget--allow-insertion`.

2 years agowid-edit.el: Cosmetic changes
Stefan Monnier [Thu, 21 Mar 2024 16:08:02 +0000 (12:08 -0400)]
wid-edit.el: Cosmetic changes

* lisp/wid-edit.el: Use #' to quote function names.
(widget--simplify-menu, widget-echo-help): Explicitly specify the
lexenv to `eval`.
(widget-choose, widget-get-sibling, widget-setup, widget-field-find)
(widget-choice-action, widget-checklist-value-get)
(widget-radio-value-create, widget-radio-value-set)
(widget-radio-action, widget-editable-list-delete-at)
(widget-group-value-create, widget-choice-prompt-value): Use `dolist`.
(widget-convert): Hoist `(setq current` out of the ifs.
(widget-convert): Hoist `(setq keys` out of the if.
(widget-after-change): Hoist `(setq begin` out of the if.
(widget-default-completions): Use `cond`.
(widget-default-value-set): Hoist `goto-char` out of the if.
(widget-choice-action): Hoist `nth` out of the if.
(widget-checkbox-action): Hoist `widget-apply` out of the if.
(widget-editable-list-value-create): Hoist `car` out of the if.
(widget-editable-list-entry-create): Hoist `(setq child ...` out of the if.
(widget-documentation-link-action): Fold `if` into `cond`.
(widget-key-sequence-value-to-external): Use `key-parse`.
(widget-plist-convert-option, widget-alist-convert-option):
Hoist `(setq key-type` out of the if.

2 years ago(widget--allow-insertion): New macro
Stefan Monnier [Thu, 21 Mar 2024 15:38:12 +0000 (11:38 -0400)]
(widget--allow-insertion): New macro

* lisp/wid-edit.el (widget--allow-insertion): New macro.
(widget-specify-insert, widget-insert, widget-setup)
(widget-default-delete, widget-editable-list-insert-before)
(widget-editable-list-delete-at): Use it.

2 years ago; * src/xterm.c (syms_of_xterm): Document x-*-keysym's default values.
Po Lu [Thu, 21 Mar 2024 12:45:25 +0000 (20:45 +0800)]
; * src/xterm.c (syms_of_xterm): Document x-*-keysym's default values.

2 years ago'vtable-update-object' can now be called with one argument
Adam Porter [Sat, 9 Mar 2024 05:43:14 +0000 (23:43 -0600)]
'vtable-update-object' can now be called with one argument

It's often necessary to update the representation of a single
object in a table (e.g a struct, whose identity does not change
when its slots'
values are changed).  To do so, now the function may be called
like this:

  (vtable-update-object table object)

Instead of like this:

  (vtable-update-object table object object)

This also documents the behavior of the just-discovered limitation filed
as bug#69837.
* lisp/emacs-lisp/vtable.el (vtable-update-object): Make 'old-object'
argument optional.  (Bug#69666)

* doc/misc/vtable.texi (Interface Functions): Update documentation.

* etc/NEWS: Add news entry.

2 years agoSpeed up display of RTL text with many character compositions
Eli Zaretskii [Thu, 21 Mar 2024 08:25:56 +0000 (10:25 +0200)]
Speed up display of RTL text with many character compositions

* src/bidi.c (bidi_level_start): New function.
* src/dispextern.h (bidi_level_start): Add prototype.
* src/xdisp.c (compute_stop_pos, set_iterator_to_next)
(get_visually_first_element, next_element_from_buffer): Call
'bidi_level_start' when looking for composed characters backwards,
to set limit of searching back, instead of looking all the way to
BOB.  (Bug#69385)

2 years agoAvoid recomputing the whole table in 'vtable--recompute-numerical'
Adam Porter [Thu, 21 Mar 2024 07:13:28 +0000 (02:13 -0500)]
Avoid recomputing the whole table in 'vtable--recompute-numerical'

Each element of LINE being tested is a list, the first element of
which is the value actually being represented in the table.
Previously, the 'numberp' test would always fail, because it was
being compared with the list rather than the intended value in it;
that could cause the whole table to be recomputed, sometimes
unnecessarily.
* lisp/emacs-lisp/vtable.el (vtable--recompute-numerical): Test the
car of ELEM, not ELEM itself, which is a list.  (Bug#69927)

2 years agoAndroid compatibility fixes
Po Lu [Thu, 21 Mar 2024 06:23:40 +0000 (14:23 +0800)]
Android compatibility fixes

* doc/emacs/android.texi (Android Windowing): Document
restrictions on number of windows under Android 4.4 and earlier.

* java/AndroidManifest.xml.in <EmacsActivity>
<EmacsOpenActivity, EmacsMultitaskActivity>: Assign each class
of activity a unique task affinity.

* java/org/gnu/emacs/EmacsDesktopNotification.java (display1):
Remove redundant priority assignment.

* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Handle
file URIs when processing attachments from a mailto URI, and
check for KitKat before opening content ones.

* java/org/gnu/emacs/EmacsWindow.java <pointerMap>
(figureChange): Replace coordinate HashMap with a SparseArray.

* java/org/gnu/emacs/EmacsWindowAttachmentManager.java
(registerWindow): Don't specify FLAG_ACTIVITY_NEW_DOCUMENT on
systems where it is absent.

2 years ago; * lisp/emacs-lisp/comp-run.el (comp-run-async-workers): Fix indentation.
Andrea Corallo [Wed, 20 Mar 2024 15:59:33 +0000 (16:59 +0100)]
; * lisp/emacs-lisp/comp-run.el (comp-run-async-workers): Fix indentation.

2 years ago; Minor copyedits of last change.
Eli Zaretskii [Wed, 20 Mar 2024 14:08:15 +0000 (16:08 +0200)]
; Minor copyedits of last change.

2 years ago; * lisp/emacs-lisp/comp.el: Add a simple sanitizer usage example.
Andrea Corallo [Wed, 20 Mar 2024 13:49:28 +0000 (14:49 +0100)]
; * lisp/emacs-lisp/comp.el: Add a simple sanitizer usage example.

2 years ago; Fix doc strings of recent changes
Eli Zaretskii [Wed, 20 Mar 2024 12:27:25 +0000 (14:27 +0200)]
; Fix doc strings of recent changes

* src/comp.c (syms_of_comp) <comp-sanitizer-active>:
* lisp/emacs-lisp/comp.el (comp-sanitizer-emit): Doc fixes.

2 years ago; * lisp/emacs-lisp/comp-cstr.el (comp--normalize-typeset0): Fix comment.
Andrea Corallo [Wed, 20 Mar 2024 10:49:32 +0000 (11:49 +0100)]
; * lisp/emacs-lisp/comp-cstr.el (comp--normalize-typeset0): Fix comment.

2 years agoAdd native compiler sanitizer
Andrea Corallo [Wed, 21 Feb 2024 21:31:45 +0000 (22:31 +0100)]
Add native compiler sanitizer

* src/comp.c (ABI_VERSION): Bump new version.
(CALL0I): Uncomment.
(helper_link_table, declare_runtime_imported_funcs): Add
'helper_sanitizer_assert'.
(Fcomp__init_ctxt): Register emitter for
'helper_sanitizer_assert'.
(helper_sanitizer_assert): New function.
(syms_of_comp): 'helper_sanitizer_assert' defsym.
(syms_of_comp): 'comp-sanitizer-error' define error.
(syms_of_comp): 'comp-sanitizer-active' defvar.

* lisp/emacs-lisp/comp.el (comp-passes): Add 'comp--sanitizer'.
(comp-sanitizer-emit): Define var.
(comp--sanitizer): Define function.

* lisp/emacs-lisp/comp-run.el (comp-run-async-workers): Forward
'comp-sanitizer-emit'.

2 years agoRespect file display names during Android drag-and-drop
Po Lu [Wed, 20 Mar 2024 02:23:42 +0000 (10:23 +0800)]
Respect file display names during Android drag-and-drop

* java/org/gnu/emacs/EmacsService.java (buildContentName):
Remove redundant projection argument to resolver.query.

* java/org/gnu/emacs/EmacsWindow.java (onDragEvent): If a
content resolver is available, attempt to convert content URIs
into file names in advance.

* lisp/term/android-win.el (android-handle-dnd-event): Adjust
correspondingly.

2 years agoFix vc-git test when no identities are configured
Kévin Le Gouguec [Mon, 18 Mar 2024 18:47:59 +0000 (19:47 +0100)]
Fix vc-git test when no identities are configured

Reported by john muhl <jm@pub.pink>.

* test/lisp/vc/vc-git-tests.el (vc-git-test--with-repo): Set
some environment variables (lifted from vc-tests.el) to let
'git commit' compute dummy author and committer identities.

2 years agoUnbreak the Cygw32 build broken by resent WTS_SESSION changes
Eli Zaretskii [Tue, 19 Mar 2024 12:45:45 +0000 (14:45 +0200)]
Unbreak the Cygw32 build broken by resent WTS_SESSION changes

* src/w32xfns.c (WTS_VIRTUAL_CLASS):
* src/w32fns.c (WTS_VIRTUAL_CLASS, WM_WTSSESSION_CHANGE)
(WTS_SESSION_LOCK): Define only for WINDOWSNT.
* src/w32xfns.c (drain_message_queue): Call
'reset_w32_kbdhook_state' only for WINDOWSNT.  (Bug#69888)

2 years ago* test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-test-93): Add test.
Andrea Corallo [Tue, 19 Mar 2024 09:48:18 +0000 (10:48 +0100)]
* test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-test-93): Add test.

2 years ago* Use 'cl-type-of' in comp-cstr.el
Andrea Corallo [Tue, 19 Mar 2024 09:41:52 +0000 (10:41 +0100)]
* Use 'cl-type-of' in comp-cstr.el

* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-homogeneous-no-range)
(comp-cstr-union-1-no-mem, comp-cstr-intersection-no-hashcons):
Make use of 'cl-type-of' in place of 'type-of'.

2 years agoUpdate android.texi
Po Lu [Tue, 19 Mar 2024 04:17:43 +0000 (12:17 +0800)]
Update android.texi

* doc/emacs/android.texi (Android Startup): Describe
/content/by-authority-named.

2 years agoRespect display names of Android content URIs
Po Lu [Tue, 19 Mar 2024 04:08:17 +0000 (12:08 +0800)]
Respect display names of Android content URIs

* java/org/gnu/emacs/EmacsNative.java (displayNameHash): New
function.

* java/org/gnu/emacs/EmacsService.java (buildContentName): New
argument RESOLVER.  Generate names holding URI's display name if
available.  All callers changed.

* lisp/international/mule-cmds.el (set-default-coding-systems):
Fix file name coding system as utf-8-unix on Android as on Mac
OS.

* src/androidvfs.c (enum android_vnode_type): New enum
ANDROID_VNODE_CONTENT_AUTHORITY_NAMED.
(android_content_name): Register root directories for this new
type.
(displayNameHash): New function.
(android_get_content_name): New argument WITH_CHECKSUM.  If
present, treat the final two components as a pair of checksum
and display name, and verify and exclude the two.
(android_authority_name): Provide new argument as appropriate.
(android_authority_initial_name): New function.

2 years ago; * lisp/vc/vc-git.el (vc-git--out-str): Doc fix.
Eli Zaretskii [Mon, 18 Mar 2024 13:59:54 +0000 (15:59 +0200)]
; * lisp/vc/vc-git.el (vc-git--out-str): Doc fix.

2 years ago* lisp/emacs-lisp/cl-preloaded.el (user-ptr): Add predicate
Stefan Monnier [Mon, 18 Mar 2024 13:38:23 +0000 (09:38 -0400)]
* lisp/emacs-lisp/cl-preloaded.el (user-ptr): Add predicate

2 years agoMerge branch 'cl-type-of' (bug#69739)
Stefan Monnier [Mon, 18 Mar 2024 13:35:11 +0000 (09:35 -0400)]
Merge branch 'cl-type-of' (bug#69739)

2 years agoFollowup changes to `cl-type-of`
Stefan Monnier [Thu, 14 Mar 2024 16:49:08 +0000 (12:49 -0400)]
Followup changes to `cl-type-of`

These changes came up while working on `cl-type-of` but are not
directly related to the new `cl-type-of`.
The BASE_PURESIZE bump was needed at some point on one of my
machine, not sure why.

* src/puresize.h (BASE_PURESIZE): Bump up.
* src/sqlite.c (bind_value): Don't use `Ftype_of`.
* lisp/emacs-lisp/seq.el (seq-remove-at-position): Simplify.
* lisp/emacs-lisp/cl-preloaded.el (finalizer):
New (previously missing) type.
* doc/lispref/objects.texi (Type Predicates): Minor tweaks.

2 years ago(primitive-function): New type
Stefan Monnier [Sun, 17 Mar 2024 21:29:02 +0000 (17:29 -0400)]
(primitive-function): New type

The type hierarchy and `cl-type-of` code assumed that `subr-primitive`
only applies to functions, but since it also accepts special-forms it makes
it an unsuitable choice since it can't be a subtype of `compiled-function`.
So, use a new type `primitive-function` instead.

* lisp/subr.el (subr-primitive-p): Fix docstring (bug#69832).
(primitive-function-p): New function.

* lisp/emacs-lisp/cl-preloaded.el (primitive-function): Rename
from `subr-primitive` since `subr-primitive-p` means something else.

* src/data.c (Fcl_type_of): Return `primitive-function` instead
of `subr-primitive` for C functions.
(syms_of_data): Adjust accordingly.

* test/src/data-tests.el (data-tests--cl-type-of): Remove workaround.

2 years ago(cl-type-of): New function to return more precise types (bug#69739)
Stefan Monnier [Tue, 12 Mar 2024 13:26:24 +0000 (09:26 -0400)]
(cl-type-of): New function to return more precise types (bug#69739)

* src/data.c (Fcl_type_of): New function, extracted from `Ftype_of`.
Make it return more precise types for symbols, integers, and subrs.
(Ftype_of): Use it.
(syms_of_data): Define the corresponding new symbols and defsubr
the new function.

* doc/lispref/objects.texi (Type Predicates): Document it.

* src/comp.c (emit_limple_insn): Use `Fcl_type_of`.

* lisp/emacs-lisp/cl-preloaded.el (subr): Demote it to `atom`.
(subr-native-elisp, subr-primitive): Add `compiled-function` as
parent instead.
(special-form): New type.

* lisp/obsolete/eieio-core.el (cl--generic-struct-tag):
* lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-generalizer):
Use `cl-type-of`.
cl--generic--unreachable-types): Update accordingly.

test/src/data-tests.el (data-tests--cl-type-of): New test.

2 years agoMakeshift solution for X server bug
Po Lu [Mon, 18 Mar 2024 01:14:18 +0000 (09:14 +0800)]
Makeshift solution for X server bug

* src/xterm.c (x_sync_init_fences): Detect errors around
XSyncCreateFence.  (bug#69762)

2 years ago; Re-apply accidentally reverted commit
Kévin Le Gouguec [Mon, 12 Feb 2024 07:29:19 +0000 (08:29 +0100)]
; Re-apply accidentally reverted commit

This re-applies:

  2024-03-17 "Fix vc-dir when "remote" Git branch is local"
  (21828f288ef)

reverted as part of the unrelated:

  2024-03-17 "Update modus-themes to their 4.4.0 version"
  (67b0c1c09ea)

The original commit message follows:

Fix vc-dir when "remote" Git branch is local

While in there, add that "tracking" branch to the vc-dir
buffer.  For bug#68183.

* lisp/vc/vc-git.el (vc-git-dir-extra-headers): Reduce
boilerplate with new function 'vc-git--out-ok'; stop calling
vc-git-repository-url when REMOTE is "." to avoid throwing an
error; display tracking branch; prefer "none (<details...>)" to
"not (<details...>)" since that reads more grammatically
correct.
(vc-git--out-ok): Add documentation.
(vc-git--out-str): New function to easily get the output from a
Git command.
* test/lisp/vc/vc-git-tests.el (vc-git-test--with-repo)
(vc-git-test--run): New helpers, defined to steer clear of
vc-git-- internal functions.
(vc-git-test-dir-track-local-branch): Check that vc-dir does
not crash.

2 years ago* lisp/tab-bar.el (tab-bar-select-restore-windows): New defcustom.
Juri Linkov [Sun, 17 Mar 2024 17:57:05 +0000 (19:57 +0200)]
* lisp/tab-bar.el (tab-bar-select-restore-windows): New defcustom.

(tab-bar-select-restore-windows): New function.
(tab-bar-select-tab): Let-bind window-restore-killed-buffer-windows
to tab-bar-select-restore-windows (bug#68235).

2 years agoUpdate source repository of the Modus themes
Protesilaos Stavrou [Sun, 17 Mar 2024 16:49:21 +0000 (18:49 +0200)]
Update source repository of the Modus themes

* admin/MAINTAINERS: Update URL and remove outdated references.

2 years agoUpdate modus-themes to their 4.4.0 version
Protesilaos Stavrou [Sun, 17 Mar 2024 16:46:15 +0000 (18:46 +0200)]
Update modus-themes to their 4.4.0 version

* doc/misc/modus-themes.org: Update the manual to better document
existing functionality and cover the new features.

* etc/themes/modus-operandi-deuteranopia-theme.el:
* etc/themes/modus-operandi-theme.el:
* etc/themes/modus-operandi-tinted-theme.el:
* etc/themes/modus-operandi-tritanopia-theme.el:
* etc/themes/modus-vivendi-deuteranopia-theme.el:
* etc/themes/modus-vivendi-theme.el:
* etc/themes/modus-vivendi-tinted-theme.el:
* etc/themes/modus-vivendi-tritanopia-theme.el: Update the
palette of each theme.

* etc/themes/modus-themes.el (require): Remove call to cl-lib
and do not use relevant functions.
(modus-themes-operandi-colors, modus-themes-vivendi-colors)
(modus-themes-version, modus-themes-report-bug): Remove old
calls to 'make-obsolete' and related.

(modus-themes--annotate-theme): Tweak the completion annotation function.

(modus-themes--org-block): Deprecate the user option 'modus-themes-org-blocks'.
(modus-themes-faces): Update faces.
(modus-themes-custom-variables): Update the list of custom
variables.

Detailed release notes are available here:
<https://protesilaos.com/codelog/2024-03-17-modus-themes-4-4-0/>.

2 years agoFix vc-dir when "remote" Git branch is local
Kévin Le Gouguec [Mon, 12 Feb 2024 07:29:19 +0000 (08:29 +0100)]
Fix vc-dir when "remote" Git branch is local

While in there, add that "tracking" branch to the vc-dir
buffer.  For bug#68183.

* lisp/vc/vc-git.el (vc-git-dir-extra-headers): Reduce
boilerplate with new function 'vc-git--out-ok'; stop calling
vc-git-repository-url when REMOTE is "." to avoid throwing an
error; display tracking branch; prefer "none (<details...>)" to
"not (<details...>)" since that reads more grammatically
correct.
(vc-git--out-ok): Add documentation.
(vc-git--out-str): New function to easily get the output from a
Git command.
* test/lisp/vc/vc-git-tests.el (vc-git-test--with-repo)
(vc-git-test--run): New helpers, defined to steer clear of
vc-git-- internal functions.
(vc-git-test-dir-track-local-branch): Check that vc-dir does
not crash.

2 years agoImprove C++ standard library detection on Android
Po Lu [Sun, 17 Mar 2024 11:32:15 +0000 (19:32 +0800)]
Improve C++ standard library detection on Android

* configure.ac: Stop relaying --with-ndk-cxx-shared to the
nested invocation of configure.

* build-aux/ndk-build-helper-1.mk (SYSTEM_LIBRARIES):

* build-aux/ndk-build-helper-2.mk (SYSTEM_LIBRARIES): Insert all
of the C++ libraries available on Android.

* configure.ac: Call ndk_LATE and ndk_LATE_EARLY within if
statement at toplevel, averting needless calls to AC_PROG_CXX.

* cross/ndk-build/Makefile.in (NDK_BUILD_CXX_STL)
(NDK_BUILD_CXX_LDFLAGS):

* cross/ndk-build/ndk-build.mk.in (NDK_BUILD_CXX_STL)
(NDK_BUILD_CXX_LDFLAGS): New variables.

* cross/ndk-build/ndk-resolve.mk (NDK_SYSTEM_LIBRARIES):
Introduce several other C++ libraries sometimes present on
Android.
(NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE)): Insert NDK_BUILD_CXX_STL
when any of these new C++ libraries are requested.

* m4/ndk-build.m4: Completely rewrite C++ compiler and library
detection.

* java/org/gnu/emacs/EmacsNative.java (EmacsNative): Attempt to
load more libraries from static initializer.

* java/INSTALL: Remove obsolete information.

2 years agodebug.el: Prevent re-entering the debugger for the same error
Stefan Monnier [Sun, 17 Mar 2024 03:10:48 +0000 (23:10 -0400)]
debug.el: Prevent re-entering the debugger for the same error

We can have several active `handler-bind`s that all want to invoke the
debugger, in which case we can have the following sequence:

- The more deeply nested handler calls the debugger.
- After a while the user invokes `debugger-continue`.
- `signal_or_quit` propagates the error up the stack to the
  second handler, which calls the debugger again.
- The user thus ends up right back at the same place, as if
  `debugger-continue` had not be processed.

Fix this by remembering the last processed error and skipping
the debugger if we bump into it again.

* lisp/emacs-lisp/debug.el (debugger--last-error): New var.
(debugger--duplicate-p): New function.
(debug): Use them.

2 years ago; Pacify -Wmaybe-uninitialized in coding.c.
Basil L. Contovounesios [Sat, 16 Mar 2024 13:15:25 +0000 (14:15 +0100)]
; Pacify -Wmaybe-uninitialized in coding.c.

Warning seen with GCC 13 -Og.

2 years ago; Document more DND functions with limited support
Eli Zaretskii [Sat, 16 Mar 2024 10:58:33 +0000 (12:58 +0200)]
; Document more DND functions with limited support

* lisp/dnd.el (dnd-begin-text-drag, dnd-begin-file-drag)
(dnd-begin-drag-files): Document platforms that support these
functions.  (Bug#69662)

2 years ago; Fix recent changes in documentation
Eli Zaretskii [Sat, 16 Mar 2024 09:58:56 +0000 (11:58 +0200)]
; Fix recent changes in documentation

* doc/lispref/markers.texi (Information from Markers):
* etc/NEWS: Improve description of 'marker-last-position'.

2 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 16 Mar 2024 09:52:31 +0000 (05:52 -0400)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

2 years agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 16 Mar 2024 09:47:41 +0000 (05:47 -0400)]
Merge from origin/emacs-29

3b791ebbe17 ; Fix 'usage:' keyword in Ffile_name_concat doc.
ed48b0d657c ; * CONTRIBUTE: Ask not to use non-ASCII unless necessary.
b708e639d63 ; * src/lread.c (maybe_swap_for_eln): Clarify warning mes...
db027a06976 ; Fix bibtex-biblatex-field-alist docstring typo.
a9be5c7ea92 ; * doc/lispref/control.texi (Conditionals): Add missing ...
db5915f30ba Fix 'with-sqlite-transaction'
fe491173e8f ; * doc/emacs/files.texi (Image Mode): Fix typo (bug#69671).

2 years agoDocument and announce 'marker-last-position'
Martin Rudalics [Sat, 16 Mar 2024 09:46:02 +0000 (10:46 +0100)]
Document and announce 'marker-last-position'

* doc/lispref/markers.texi (Information from Markers): Document
'marker-last-position'.
* etc/NEWS: Announce 'marker-last-position'.
* src/window.c (window_restore_killed_buffer_windows): Minor
doc-string fix.
* doc/lispref/windows.texi (Window Configurations): Minor fix.

2 years agoIn window-related documentation write 'symbol' instead of 'constant'
Martin Rudalics [Sat, 16 Mar 2024 09:10:29 +0000 (10:10 +0100)]
In window-related documentation write 'symbol' instead of 'constant'

Suggested by Michael Heerdegen <michael_heerdegen@web.de>.

* src/window.c (window_restore_killed_buffer_windows): In
doc-string write 'symbol' instead of 'constant'.
* lisp/window.el (display-buffer--lru-window)
(display-buffer-use-least-recent-window): In doc-strings write
'symbol' instead of 'constant'.
* doc/lispref/windows.texi (Window Configurations): Write
'symbol' instead of 'constant'.

2 years ago; * src/xterm.c (syms_of_xterm): Fix typo.
Po Lu [Sat, 16 Mar 2024 07:18:07 +0000 (15:18 +0800)]
; * src/xterm.c (syms_of_xterm): Fix typo.

2 years agoRespond to default action from Gnus notifications
Po Lu [Sat, 16 Mar 2024 07:15:10 +0000 (15:15 +0800)]
Respond to default action from Gnus notifications

* lisp/gnus/gnus-notifications.el (gnus-notifications-action):
Consider default equivalent to read.

2 years agoSupport x-*-keysym on Android
Po Lu [Sat, 16 Mar 2024 07:13:09 +0000 (15:13 +0800)]
Support x-*-keysym on Android

* src/androidterm.c (android_android_to_emacs_modifiers)
(android_emacs_to_android_modifiers, syms_of_androidterm): Port
x-*-keysym from xterm.c.

2 years agoCorrect doc strings for x-*-keysym
Po Lu [Sat, 16 Mar 2024 07:12:33 +0000 (15:12 +0800)]
Correct doc strings for x-*-keysym

* src/xterm.c (syms_of_xterm): Clarify whether x-*-keysym
affects the modifier key reported for a keysym or the other way
around.

2 years ago* doc/lispref/frames.texi (Window System Selections): Fix misuse of xref.
Po Lu [Sat, 16 Mar 2024 01:55:23 +0000 (09:55 +0800)]
* doc/lispref/frames.texi (Window System Selections): Fix misuse of xref.

2 years ago; Circumvent miscompilations on Sun C 5.12 (148917-07)
Po Lu [Sat, 16 Mar 2024 01:50:58 +0000 (09:50 +0800)]
; Circumvent miscompilations on Sun C 5.12 (148917-07)

* src/minibuf.c (Ftry_completion, Fall_completions): Transform
ternary expressions after open-ended if statements into proper
if/else statements.

2 years agoFix calc.texi for Texinfo 4.13
Po Lu [Sat, 16 Mar 2024 01:29:42 +0000 (09:29 +0800)]
Fix calc.texi for Texinfo 4.13

* doc/misc/calc.texi (Fractions): Replace instances of @U with
raw Unicode characters and adjust the document encoding
suitably.

2 years ago; * src/eval.c (Fhandler_bind_1): Fix docstring.
Basil L. Contovounesios [Fri, 15 Mar 2024 23:23:41 +0000 (00:23 +0100)]
; * src/eval.c (Fhandler_bind_1): Fix docstring.

2 years ago; Fix 'usage:' keyword in Ffile_name_concat doc.
Basil L. Contovounesios [Fri, 15 Mar 2024 23:19:43 +0000 (00:19 +0100)]
; Fix 'usage:' keyword in Ffile_name_concat doc.

2 years ago* lisp/emacs-lisp/bindat.el (sint): Burp in dynbind (bug#69749)
Stefan Monnier [Fri, 15 Mar 2024 16:45:09 +0000 (12:45 -0400)]
* lisp/emacs-lisp/bindat.el (sint): Burp in dynbind (bug#69749)

2 years ago* Don't install unnecessary trampolines (bug#69573)
Andrea Corallo [Fri, 15 Mar 2024 13:18:51 +0000 (14:18 +0100)]
* Don't install unnecessary trampolines (bug#69573)

* lisp/emacs-lisp/comp-run.el (comp-subr-trampoline-install):
Check that subr-name actually matches the target subr.

2 years ago* lisp/emacs-lisp/advice.el (comp-subr-trampoline-install): Don't declare.
Andrea Corallo [Fri, 15 Mar 2024 11:32:06 +0000 (12:32 +0100)]
* lisp/emacs-lisp/advice.el (comp-subr-trampoline-install): Don't declare.

2 years ago; Fix documentation of a recent change (bug#68235)
Eli Zaretskii [Fri, 15 Mar 2024 12:22:14 +0000 (14:22 +0200)]
; Fix documentation of a recent change (bug#68235)

* etc/NEWS:
* doc/lispref/windows.texi (Window Configurations): Improve
wording of 'window-restore-killed-buffer-windows's doc.
* src/window.c (syms_of_window)
<window-restore-killed-buffer-windows>: Doc fix.

* etc/NEWS:
* doc/lispref/buffers.texi (Buffer Names): Document
'buffer-last-name'.

2 years ago; * CONTRIBUTE: Ask not to use non-ASCII unless necessary.
Eli Zaretskii [Fri, 15 Mar 2024 11:29:31 +0000 (13:29 +0200)]
; * CONTRIBUTE: Ask not to use non-ASCII unless necessary.

2 years agoFix bug with CHECK_STRUCTS introduced by last buffer.h change
Martin Rudalics [Fri, 15 Mar 2024 10:53:31 +0000 (11:53 +0100)]
Fix bug with CHECK_STRUCTS introduced by last buffer.h change

* src/pdumper.c (dump_buffer): Fix HASH_buffer_.  Assign
last_name_ field.

2 years agoFurther adjustments for restoring killed buffer windows (Bug#68235)
Martin Rudalics [Fri, 15 Mar 2024 09:35:27 +0000 (10:35 +0100)]
Further adjustments for restoring killed buffer windows (Bug#68235)

* etc/NEWS: Announce 'window-restore-killed-buffer-windows'.
* src/buffer.h (struct buffer) : New field last_name_.
* src/buffer.c (Fbuffer_last_name): New function to return last
name of buffer before it was killed or renamed.
(bset_last_name, Fget_buffer_create, Fmake_indirect_buffer)
(Frename_buffer, Fkill_buffer, init_buffer_once): Set buffer's
last_name_ field accordingly.
* src/window.c (window_restore_killed_buffer_windows): New
variable replacing Vwindow_kept_windows_functions.
(Fset_window_configuration): Use
window_restore_killed_buffer_windows instead of
Vwindow_kept_windows_functions.
* lisp/window.el (window--state-put-2, window-state-put): Use
'window-restore-killed-buffer-windows' instead of
'window-kept-windows-functions'.
* doc/lispref/windows.texi (Window Configurations): Describe
'window-restore-killed-buffer-windows' which replaces
'window-kept-windows-functions'.

2 years ago; Fix documentation of 'flyspell-check-changes'
Eli Zaretskii [Fri, 15 Mar 2024 08:44:23 +0000 (10:44 +0200)]
; Fix documentation of 'flyspell-check-changes'

* lisp/textmodes/flyspell.el (flyspell-check-changes): Doc fixes.

* etc/NEWS: Improve wording of entry for 'flyspell-check-changes'.

2 years ago; * src/xwidget.c (xwidget-webkit-disable-javascript): Doc fix.
Eli Zaretskii [Fri, 15 Mar 2024 08:29:06 +0000 (10:29 +0200)]
; * src/xwidget.c (xwidget-webkit-disable-javascript): Doc fix.

2 years ago* lisp/vc/diff-mode.el (diff-mode-menu): Add menu item "Apply all hunks".
Juri Linkov [Fri, 15 Mar 2024 07:45:48 +0000 (09:45 +0200)]
* lisp/vc/diff-mode.el (diff-mode-menu): Add menu item "Apply all hunks".

It's bound to the recently added command 'diff-apply-buffer'.

2 years agoWith visible-completions, only bind RET when completion is selected
Spencer Baugh [Tue, 27 Feb 2024 20:42:38 +0000 (15:42 -0500)]
With visible-completions, only bind RET when completion is selected

Previously, if minibuffer-visible-completions was non-nil, we bound RET
whenever the *Completions* buffer was visible.  This meant that RET in
completion-in-region would not enter a newline, which is a somewhat
annoying behavior change from minibuffer-visible-completions=nil.

Now, we only bind RET when a completion is selected.  This means
RET will newline in completion-in-region.

So that completion help continues to suggest the correct keys,
we also add minibuffer-visible-completions--always-bind.  When
let-bound to a non-nil value, it makes the
minibuffer-visible-completions binds always active.  We let-bind
it around substitute-command-keys.

* lisp/minibuffer.el (minibuffer-visible-completions--always-bind)
(minibuffer-visible-completions--filter): Add.
(minibuffer-visible-completions-bind): Use
minibuffer-visible-completions--filter.  (bug#68801)
* lisp/simple.el (minibuffer-visible-completions--always-bind)
(completion-setup-function): Let-bind
minibuffer-visible-completions--always-bind so the completion
help is correct.

2 years agoKeep indenting text when 'shr-fill-text' is nil (bug#69555)
Kévin Le Gouguec [Sun, 3 Mar 2024 16:20:56 +0000 (17:20 +0100)]
Keep indenting text when 'shr-fill-text' is nil (bug#69555)

The 'shr-fill-...' functions handle both hard-filling (adding
newlines to break long lines) and indentation.  Setting
'shr-fill-text' to nil currently causes these functions to be
short-circuited completely, so e.g. blockquotes are no longer
indented, whereas the intent of this user option is only to
prevent hard-filling to let visual-line-mode reflow text.

* lisp/net/shr.el (shr-fill-lines): Document that the function
handles more than just filling; move the 'shr-fill-text' check...
(shr-fill-line): ... here, after indentation has been taken care
of.
* test/lisp/net/shr-resources/blockquote.html:
* test/lisp/net/shr-resources/blockquote.txt: New test resources.
* test/lisp/net/shr-tests.el (shr-test--rendering-check): Rename
from 'shr-test', to make the relationship with the 'rendering'
testcase clearer; prefer 'file-name-concat' to 'format'; raise
ERT failure if need be, calling (ert-fail ...) directly instead
of (should (not (list ...))).
(shr-test--rendering-extra-configs): New variable to easily check
that user customizations do not degrade rendering.
(rendering): Consult that new variable; delegate failure-raising
to reduce duplication.

2 years ago; * src/androidselect.c (Fandroid_notifications_notify): Typo in doc string.
Po Lu [Fri, 15 Mar 2024 03:50:27 +0000 (11:50 +0800)]
; * src/androidselect.c (Fandroid_notifications_notify): Typo in doc string.

2 years ago* src/sfntfont-android.c (init_sfntfont_android): Fix SDK check.
Po Lu [Fri, 15 Mar 2024 03:50:09 +0000 (11:50 +0800)]
* src/sfntfont-android.c (init_sfntfont_android): Fix SDK check.

2 years ago(project--value-in-dir): Ensure that the global value is still honored
Dmitry Gutov [Fri, 15 Mar 2024 02:28:45 +0000 (04:28 +0200)]
(project--value-in-dir): Ensure that the global value is still honored

* lisp/progmodes/project.el (project--value-in-dir):
Ensure that the global value of the variable is still honored,
when the variable is not in dir-locals.

2 years agofix: project submodule detection does not work for worktrees
Patrick Bader [Mon, 4 Mar 2024 15:14:25 +0000 (16:14 +0100)]
fix: project submodule detection does not work for worktrees

2 years ago(set-auto-mode): Streamline to fix bug#67795
Stefan Monnier [Fri, 15 Mar 2024 02:15:41 +0000 (22:15 -0400)]
(set-auto-mode): Streamline to fix bug#67795

The old code tested if the mode function is `fboundp` but in an
inconsistent way and without paying attention to
`major-mode-remap`.

* lisp/files.el (set-auto-mode-0): Return `:keep` rather than nil if
the mode was already set.  And emit a warning when the mode function
doesn't exist.
(set-auto-mode): Remove checks that the mode function exists now that
`set-auto-mode-0` does it for us.  Adjust to the new return values of
that function, and simplify the code using a big `or` instead of
a sequence of steps each setting&testing `done`.
(hack-local-variables--find-variables): Use `major-mode-remap`
when skipping the "mode:" entries that specify modes we don't have.
Also, when (eq handle-mode t), don't bother building a list of results
only to return a single element in the end.

2 years ago(customize-mode): Fix bug#69501
Stefan Monnier [Fri, 15 Mar 2024 02:00:14 +0000 (22:00 -0400)]
(customize-mode): Fix bug#69501

* lisp/cus-edit.el (customize-mode): Use the predicate arg of
`completing-read` instead of binding `completion-regexp-list`.

2 years agoFix last change
Po Lu [Fri, 15 Mar 2024 00:36:21 +0000 (08:36 +0800)]
Fix last change

* src/xwidget.c (Fmake_xwidget): Cast boolean value to gboolean.
(syms_of_xwidget): Fix coding style and improve doc string.

2 years ago; * src/lread.c (maybe_swap_for_eln): Clarify warning message.
Eli Zaretskii [Thu, 14 Mar 2024 19:08:36 +0000 (21:08 +0200)]
; * src/lread.c (maybe_swap_for_eln): Clarify warning message.

2 years ago* lisp/textmodes/flyspell.el (flyspell-check-changes): New user option.
Juri Linkov [Thu, 14 Mar 2024 18:11:33 +0000 (20:11 +0200)]
* lisp/textmodes/flyspell.el (flyspell-check-changes): New user option.

(flyspell--mode-on): Add flyspell-check-changes to post-command-hook
when flyspell-check-changes is non-nil.
(flyspell--mode-off): Remove flyspell-check-changes from post-command-hook.
(flyspell-check-changes): New function (bug#61874).

2 years ago* lisp/progmodes/project.el: Don't run modes from .dir-locals.el.
Juri Linkov [Thu, 14 Mar 2024 17:37:44 +0000 (19:37 +0200)]
* lisp/progmodes/project.el: Don't run modes from .dir-locals.el.

(project--value-in-dir): Use 'alist-get' on 'file-local-variables-alist'
to avoid calling 'hack-local-variables-apply' via
'hack-dir-local-variables-non-file-buffer' because it might enable
undesirable modes such as flyspell-mode in a temporary buffer (bug#69740).

2 years agoContext menu for project (bug#69566)
Juri Linkov [Thu, 14 Mar 2024 17:29:16 +0000 (19:29 +0200)]
Context menu for project (bug#69566)

* lisp/menu-bar.el (menu-bar-project-item): New variable from
'project-menu-entry'.
(menu-bar-tools-menu): Use 'menu-bar-project-item'.

* lisp/mouse.el (context-menu-functions): Add
'context-menu-project' to choice.
(context-menu-project): New function.

* lisp/progmodes/project.el (project-menu-entry): Remove variable.
(project-mode-line-map): Use 'menu-bar-project-item' instead of
'project-menu-entry'.

2 years agoAdd language server for Move to eglot
Pankaj Jangid [Thu, 14 Mar 2024 11:41:43 +0000 (17:11 +0530)]
Add language server for Move to eglot

* lisp/progmodes/eglot.el (eglot-server-programs): Added
'move-analyzer' language server.  (Bug#69796)

2 years agoDetect the readline support for Python shell completion
Liu Hui [Mon, 26 Feb 2024 10:46:36 +0000 (18:46 +0800)]
Detect the readline support for Python shell completion

* lisp/progmodes/python.el
(python-shell-comint-watch-for-first-prompt-output-filter):
Detect the readline support.
(python-shell-readline-completer-delims): Update docstring.
(python-shell-completion-native-setup): Move the readline
detection code to ...
(python-shell-readline-detect): ... new function.
(python-shell-completion-native-turn-on-maybe): Skip if Python
has no readline support.
(python-shell-completion-at-point): Respect the delimiter of
readline completer in non-native completion.
* test/lisp/progmodes/python-tests.el
(python-shell-completion-at-point-1)
(python-shell-completion-at-point-native-1)
(python-completion-at-point-1, python-completion-at-point-2)
(python-completion-at-point-pdb-1)
(python-completion-at-point-while-running-1)
(python-completion-at-point-native-1)
(python-completion-at-point-native-2)
(python-completion-at-point-native-with-ffap-1)
(python-completion-at-point-native-with-eldoc-1): Skip tests if
Python has no readline support.
(python-shell-completion-at-point-jedi-completer): Add test for
non-native Python shell completion. (bug#68559)

2 years agoHandle the case where 'vtable-update-object' doesn't find old object
Adam Porter [Tue, 12 Mar 2024 21:01:57 +0000 (16:01 -0500)]
Handle the case where 'vtable-update-object' doesn't find old object

* lisp/emacs-lisp/vtable.el (vtable-update-object): If OLD-OBJECT
is not found, don't call ELT, since SEQ-POSITION may return nil.
(Bug#69664)

2 years ago; Simplify (with-current-buffer (get-buffer ...) ...)
Tim Landscheidt [Tue, 12 Mar 2024 00:21:06 +0000 (00:21 +0000)]
; Simplify (with-current-buffer (get-buffer ...) ...)

There's no need to call 'get-buffer', since 'with-current-buffer'
does that internally.
* lisp/calendar/todo-mode.el (todo-merge-category):
* lisp/comint.el (comint-dynamic-list-completions):
* lisp/emacs-lisp/checkdoc.el (checkdoc-error):
* lisp/emacs-lisp/debug.el (debug, debugger-record-expression):
* lisp/emacs-lisp/eieio-opt.el (eieio-browse):
* lisp/emacs-lisp/re-builder.el (reb-restart-font-lock):
* lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
* lisp/eshell/em-unix.el (eshell-poor-mans-grep):
* lisp/gnus/gnus-group.el (gnus-add-mark):
* lisp/net/eww.el (eww-next-bookmark, eww-previous-bookmark):
* lisp/net/sieve.el (sieve-upload):
* lisp/net/tramp-cmds.el (tramp-cleanup-some-buffers):
* lisp/obsolete/quickurl.el (quickurl-list-populate-buffer):
* lisp/org/ob-calc.el: (org-babel-execute:calc):
* lisp/org/org-agenda.el (org-agenda-use-sticky-p):
* lisp/pcomplete.el (pcomplete-show-completions):
* lisp/progmodes/bug-reference.el
(bug-reference--try-setup-gnus-article):
* lisp/progmodes/idlw-help.el
(idlwave-highlight-linked-completions):
* lisp/progmodes/verilog-mode.el (verilog-preprocess):
* lisp/replace.el (occur-1):
* lisp/term.el (term-dynamic-list-completions):
* lisp/time.el (world-clock-update):
* lisp/url/url-cache.el (url-store-in-cache):
* lisp/vc/vc-cvs.el (vc-cvs-merge, vc-cvs-merge-news):
* lisp/vc/vc-rcs.el (vc-rcs-system-release):
* lisp/vc/vc-svn.el (vc-svn-merge, vc-svn-merge-news):
* test/lisp/calendar/icalendar-tests.el
(icalendar-tests--get-error-string-for-export):
* test/lisp/erc/erc-dcc-tests.el
(pcomplete/erc-mode/DCC--get-1flag)
(pcomplete/erc-mode/DCC--get-2flags)
(pcomplete/erc-mode/DCC--get-2flags-reverse):
* test/lisp/erc/erc-networks-tests.el
(erc-networks--rename-server-buffer--existing--noreuse):
* test/lisp/erc/erc-scenarios-services-misc.el
(erc-scenarios-services-misc--reconnect-retry-nick):
* test/lisp/erc/erc-tests.el (erc--refresh-prompt):
Replace (with-current-buffer (get-buffer ...) ...) with
(with-current-buffer ...).

2 years agobug#69685: Add language server for Fennel to eglot
Phil Hagelberg [Sat, 9 Mar 2024 23:36:11 +0000 (15:36 -0800)]
bug#69685: Add language server for Fennel to eglot

* lisp/progmodes/eglot.el (eglot-server-programs): Add
fennel-ls language server.

Copyright-paperwork-exempt: yes

2 years agoffap.el: Exclude angle brackets from file names in XML
StrawberryTea [Sat, 9 Mar 2024 21:37:44 +0000 (15:37 -0600)]
ffap.el: Exclude angle brackets from file names in XML

* lisp/ffap.el (ffap-string-at-point-mode-alist): Add elements for
XML, to better recognize file names in XML buffers.

Copyright-paperwork-exempt: yes

2 years agoAdd bounds-of-thing-at-point property for 'number'
Visuwesh [Sat, 9 Mar 2024 09:47:26 +0000 (15:17 +0530)]
Add bounds-of-thing-at-point property for 'number'

* lisp/thingatpt.el (thing-at-point-decimal-regexp)
(thing-at-point-hexadecimal-regexp): Extract regexps from...
(number-at-point): ...here.  Use them in 'number-at-point'.
(number): Add 'bounds-of-thing-at-point' property as
`forward-word' does not always return the right boundary,
e.g., in latex-mode buffers.  (Bug#69239)

2 years ago; Fix last change (bug#68604)
Eli Zaretskii [Thu, 14 Mar 2024 09:32:00 +0000 (11:32 +0200)]
; Fix last change (bug#68604)

* lisp/xwidget.el (xwidget-webkit-disable-javascript): Move from
here...
* lisp/cus-start.el (standard): ...to here.

* src/xwidget.c (syms_of_xwidget)
<xwidget-webkit-disable-javascript>: Doc fix.

* doc/emacs/misc.texi (Embedded WebKit Widgets): Fix wording.

2 years agoAdd user option to disable JavaScript in xwidget webview
Noé Lopez [Fri, 19 Jan 2024 22:40:53 +0000 (23:40 +0100)]
Add user option to disable JavaScript in xwidget webview

* src/xwidget.c: Add the 'xwidget-webkit-disable-javascript'
variable to disable JavaScript in WebKit sessions.  (Bug#68604)

* etc/NEWS:
* doc/emacs/misc.texi (Embedded Webkit Widgets): Document
the change.

2 years ago* lisp/emacs-lisp/vtable.el (vtable-update-object): Fix.
Adam Porter [Sat, 9 Mar 2024 04:28:52 +0000 (22:28 -0600)]
* lisp/emacs-lisp/vtable.el (vtable-update-object): Fix.

The order of the arguments to 'seq-position' was wrong, and it did not
compare the correct values.  (Bug#69664)

2 years ago; Fix last change to compile with mingw.org's MinGW
Eli Zaretskii [Thu, 14 Mar 2024 08:22:52 +0000 (10:22 +0200)]
; Fix last change to compile with mingw.org's MinGW

* src/w32xfns.c:
* src/w32fns.c (WTS_VIRTUAL_CLASS) [!MINGW_W64]: Declare.
* src/w32xfns.c: Include wtsapi32.h.

2 years agoFix resetting keyboard hook state on MS-Windows
Raffael Stocker [Mon, 4 Mar 2024 18:06:07 +0000 (19:06 +0100)]
Fix resetting keyboard hook state on MS-Windows

Register session notifications so Emacs is notified when the
computer is being locked, as required to reset the low level
keyboard hook state.  (Bug#69083).
* src/w32term.h:
* src/w32fns.c (setup_w32_kbdhook, remove_w32_kbdhook)
(w32_wnd_proc, globals_of_w32fns, maybe_pass_notification):
Register and manage session notifications in GUI Emacs.
* src/w32console.c (initialize_w32_display, find_ime_window):
* src/w32xfns.c (drain_message_queue): Register notifications
and reset keyboard hook state in console Emacs.
* src/w32.c (term_ntproc): Un-register session notifications
when terminating.

2 years ago* exec/trace.c (rpl_stpcpy): Replace stpcpy if absent.
Po Lu [Thu, 14 Mar 2024 06:21:49 +0000 (14:21 +0800)]
* exec/trace.c (rpl_stpcpy): Replace stpcpy if absent.

2 years agoImprove /proc/self/exe substitution on Android
Po Lu [Thu, 14 Mar 2024 05:45:48 +0000 (13:45 +0800)]
Improve /proc/self/exe substitution on Android

* exec/configure.ac (USER_SWORD): New macro.

* exec/exec.c (format_pid): Export this function.

* exec/exec.h:

* exec/trace.c (canon_path): New function.
(handle_readlinkat, handle_openat): Test complete file name
against /proc/self/exe, and further check for /proc/pid/exe.

2 years ago; * java/org/gnu/emacs/EmacsDesktopNotification.java (display1): Another fix.
Po Lu [Thu, 14 Mar 2024 00:24:42 +0000 (08:24 +0800)]
; * java/org/gnu/emacs/EmacsDesktopNotification.java (display1): Another fix.

2 years agons_select fix for macOS terminals (bug#69561)
Gerd Möllmann [Wed, 13 Mar 2024 19:27:20 +0000 (20:27 +0100)]
ns_select fix for macOS terminals (bug#69561)

* src/nsterm.m (ns_select_1): Return early for terminals.

2 years agoFix name of gnus-notification(s)-close; ignore argument
Eric Abrahamsen [Wed, 13 Mar 2024 14:38:49 +0000 (07:38 -0700)]
Fix name of gnus-notification(s)-close; ignore argument

* lisp/gnus/gnus-notifications.el (gnus-notifications-close): Original
name was probably a typo.

2 years agoFix crash when displaying notifications on Android 3.0
Po Lu [Wed, 13 Mar 2024 07:33:24 +0000 (15:33 +0800)]
Fix crash when displaying notifications on Android 3.0

* java/org/gnu/emacs/EmacsDesktopNotification.java (display1):
Don't call setPriority until Jelly Bean.

2 years agoPrevent freezes on macOS (bug#69561)
Gerd Möllmann [Sat, 9 Mar 2024 14:06:29 +0000 (15:06 +0100)]
Prevent freezes on macOS (bug#69561)

* src/nsterm.m (ns_select_1): Store pending input_events. Always call
[NSApp run].